package ar.com.coonocer.joy.mdg.xmi.activity.impl;
import java.util.ArrayList;
import java.util.List;

import ar.com.coonocer.joy.mdg.xmi.activity.ActionState;
import ar.com.coonocer.joy.mdg.xmi.activity.CallState;
import ar.com.coonocer.joy.mdg.xmi.behavior.Action;
import ar.com.coonocer.joy.mdg.xmi.core.Comment;
import ar.com.coonocer.joy.mdg.xmi.core.Constraint;
import ar.com.coonocer.joy.mdg.xmi.core.Dependency;
import ar.com.coonocer.joy.mdg.xmi.core.Flow;
import ar.com.coonocer.joy.mdg.xmi.core.Namespace;
import ar.com.coonocer.joy.mdg.xmi.core.Stereotype;
import ar.com.coonocer.joy.mdg.xmi.core.TaggedValue;
import ar.com.coonocer.joy.mdg.xmi.core.TemplateParameter;
import ar.com.coonocer.joy.mdg.xmi.datatype.ArgListsExpression;
import ar.com.coonocer.joy.mdg.xmi.datatype.Multiplicity;
import ar.com.coonocer.joy.mdg.xmi.state.CompositeState;
import ar.com.coonocer.joy.mdg.xmi.state.Event;
import ar.com.coonocer.joy.mdg.xmi.state.StateMachine;
import ar.com.coonocer.joy.mdg.xmi.state.Transition;
public class CallStateImpl implements CallState,ActionState{

	private List<TaggedValue> taggedValue = new ArrayList<TaggedValue>();
	public List<TaggedValue> getTaggedValue(){
	return taggedValue;
	}
	public void setTaggedValue(List<TaggedValue> taggedValue){
	this.taggedValue=taggedValue;
	}

	private Multiplicity dynamicMultiplicity;
	public Multiplicity getDynamicMultiplicity(){
	return dynamicMultiplicity;
	}
	public void setDynamicMultiplicity(Multiplicity dynamicMultiplicity){
	this.dynamicMultiplicity=dynamicMultiplicity;
	}

	private List<Transition> outgoing = new ArrayList<Transition>();
	public List<Transition> getOutgoing(){
	return outgoing;
	}
	public void setOutgoing(List<Transition> outgoing){
	this.outgoing=outgoing;
	}

	private List<TemplateParameter> templateParameter = new ArrayList<TemplateParameter>();
	public List<TemplateParameter> getTemplateParameter(){
	return templateParameter;
	}
	public void setTemplateParameter(List<TemplateParameter> templateParameter){
	this.templateParameter=templateParameter;
	}

	private List<Flow> sourceFlow = new ArrayList<Flow>();
	public List<Flow> getSourceFlow(){
	return sourceFlow;
	}
	public void setSourceFlow(List<Flow> sourceFlow){
	this.sourceFlow=sourceFlow;
	}

	private List<Constraint> constraint = new ArrayList<Constraint>();
	public List<Constraint> getConstraint(){
	return constraint;
	}
	public void setConstraint(List<Constraint> constraint){
	this.constraint=constraint;
	}

	private String visibility;
	public String getVisibility(){
	return visibility;
	}
	public void setVisibility(String visibility){
	this.visibility=visibility;
	}

	private Action entry;
	public Action getEntry(){
	return entry;
	}
	public void setEntry(Action entry){
	this.entry=entry;
	}

	private List<Event> deferrableEvent = new ArrayList<Event>();
	public List<Event> getDeferrableEvent(){
	return deferrableEvent;
	}
	public void setDeferrableEvent(List<Event> deferrableEvent){
	this.deferrableEvent=deferrableEvent;
	}

	private StateMachine stateMachine;
	public StateMachine getStateMachine(){
	return stateMachine;
	}
	public void setStateMachine(StateMachine stateMachine){
	this.stateMachine=stateMachine;
	}

	private CompositeState container;
	public CompositeState getContainer(){
	return container;
	}
	public void setContainer(CompositeState container){
	this.container=container;
	}

	private Boolean isDynamic;
	public Boolean getIsDynamic(){
	return isDynamic;
	}
	public void setIsDynamic(Boolean isDynamic){
	this.isDynamic=isDynamic;
	}

	private String name;
	public String getName(){
	return name;
	}
	public void setName(String name){
	this.name=name;
	}

	private List<Transition> internalTransition = new ArrayList<Transition>();
	public List<Transition> getInternalTransition(){
	return internalTransition;
	}
	public void setInternalTransition(List<Transition> internalTransition){
	this.internalTransition=internalTransition;
	}

	private Namespace namespace;
	public Namespace getNamespace(){
	return namespace;
	}
	public void setNamespace(Namespace namespace){
	this.namespace=namespace;
	}

	private Action doActivity;
	public Action getDoActivity(){
	return doActivity;
	}
	public void setDoActivity(Action doActivity){
	this.doActivity=doActivity;
	}

	private ArgListsExpression dynamicArguments;
	public ArgListsExpression getDynamicArguments(){
	return dynamicArguments;
	}
	public void setDynamicArguments(ArgListsExpression dynamicArguments){
	this.dynamicArguments=dynamicArguments;
	}

	private Action exit;
	public Action getExit(){
	return exit;
	}
	public void setExit(Action exit){
	this.exit=exit;
	}

	private List<Flow> targetFlow = new ArrayList<Flow>();
	public List<Flow> getTargetFlow(){
	return targetFlow;
	}
	public void setTargetFlow(List<Flow> targetFlow){
	this.targetFlow=targetFlow;
	}

	private List<Comment> comment = new ArrayList<Comment>();
	public List<Comment> getComment(){
	return comment;
	}
	public void setComment(List<Comment> comment){
	this.comment=comment;
	}

	private Boolean isSpecification;
	public Boolean getIsSpecification(){
	return isSpecification;
	}
	public void setIsSpecification(Boolean isSpecification){
	this.isSpecification=isSpecification;
	}

	private List<Stereotype> stereotype = new ArrayList<Stereotype>();
	public List<Stereotype> getStereotype(){
	return stereotype;
	}
	public void setStereotype(List<Stereotype> stereotype){
	this.stereotype=stereotype;
	}

	private List<Dependency> clientDependency = new ArrayList<Dependency>();
	public List<Dependency> getClientDependency(){
	return clientDependency;
	}
	public void setClientDependency(List<Dependency> clientDependency){
	this.clientDependency=clientDependency;
	}

	private List<Transition> incoming = new ArrayList<Transition>();
	public List<Transition> getIncoming(){
	return incoming;
	}
	public void setIncoming(List<Transition> incoming){
	this.incoming=incoming;
	}
}